import CryptoJS from 'crypto-js';

export default {
	//随机生成指定数量的16进制key
	generatekey (num) {
		let library = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
		let key = "";
		for (var i = 0; i < num; i++) {
			let randomPoz = Math.floor(Math.random() * library.length);
			key += library.substring(randomPoz, randomPoz + 1);
		}
		return key;
	},

	//加密
	encrypt (word, keyStr) {
		if (!word) {
			return "";
		}

		keyStr = keyStr ? keyStr : 'C+3ABabaXusfqW3eSuwUIxDadvKCl0mZ60a2OJTG69A='; //判断是否存在ksy，不存在就用定义好的key
		var key = CryptoJS.enc.Base64.parse(keyStr);
		var iv = CryptoJS.enc.Base64.parse("6RnB7l3GeO+DNLRSjrUQoA==");
		var srcs = CryptoJS.enc.Utf8.parse(word);
		var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
		return encrypted.toString();
	},
	//解密
	decrypt (word, keyStr) {
		if (!word) {
			return "";
		}

		keyStr = keyStr ? keyStr : 'C+3ABabaXusfqW3eSuwUIxDadvKCl0mZ60a2OJTG69A=';
		var key = CryptoJS.enc.Base64.parse(keyStr);
		var iv = CryptoJS.enc.Base64.parse("6RnB7l3GeO+DNLRSjrUQoA==");
		var decrypt = CryptoJS.AES.decrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
		return CryptoJS.enc.Utf8.stringify(decrypt).toString();
	}

}